home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Taifun / Taifun 143 (1990-08-15)(Ossowski, Stefan)(DE)(PD).zip / Taifun 143 (1990-08-15)(Ossowski, Stefan)(DE)(PD).adf / SASTools / Vibrator / Interlace.mod < prev    next >
Text File  |  1990-05-16  |  3KB  |  92 lines

  1. (***************************************************************************
  2. *  Programme : Interlace.mod (a modified version of Vibrator)              *
  3. *  Usage     : Interlace                                                   *
  4. *  Version   : V2.30                                                       *
  5. *  Date      : 29.03.1989                                                  *
  6. *  Author    : Jörg Sixt, Idea by Mike Mehrl                               *
  7. *  Purpose   : another neat gag by sick amiga software                     *
  8. *  Language  : Modula-2,AMSoft  PD-Version from Fish 113                   *
  9. *  Bugs      : none known                                                  *
  10. ***************************************************************************)
  11.  
  12.  
  13. MODULE Interlace ;
  14.  
  15. FROM SYSTEM    IMPORT ADR ;
  16. FROM Exec      IMPORT GetMsg,ReplyMsg;
  17. FROM Intuition IMPORT NewWindow,WindowPtr,OpenWindow,CloseWindow,ScreenFlags,
  18.                       ScreenFlagSet,IDCMPFlags,IDCMPFlagSet,WindowFlags,
  19.                       WindowFlagSet,IntuiMessagePtr,RemakeDisplay,ViewAddress,
  20.                       CurrentTime,DisplayAlert ;
  21. FROM Graphics  IMPORT ViewPtr ;
  22.  
  23. CONST
  24.     DeltaX              =  1 ; (* X-deflection *)
  25.     DeltaY              =  1 ; (* Y-deflection *)
  26.  
  27. VAR
  28.     NewWin              : NewWindow ;
  29.     GagWinPtr           : WindowPtr ;
  30.     WhatPtr             : IntuiMessagePtr ;
  31.     GagView             : ViewPtr ;
  32.     oldX,oldY,help      : INTEGER ;
  33.     secPtr,micPtr       : POINTER TO LONGCARD ;
  34.     PowerLED [12574721] : CHAR ;
  35.     Guru : RECORD
  36.        Xpos : CARDINAL ;
  37.        Text : ARRAY [0..59] OF CHAR ;
  38.     END ;
  39.  
  40. BEGIN
  41.    WITH Guru DO
  42.       Text := "?Interlace over and over again by  sick amiga softwäre !!!" ;
  43.       Xpos := 84 ; Text[0] := CHR(20) ; Text[59] := CHR(0) ;
  44.    END ;
  45.    WITH NewWin DO
  46.       leftEdge    :=   0 ; topEdge   :=   0 ;
  47.       width       := 500 ; height    :=  10 ;
  48.       detailPen   := 255 ; blockPen  := 255 ;
  49.       idcmpFlags  := IDCMPFlagSet  {closeWindow} ;
  50.       flags       := WindowFlagSet {windowClose,activate,windowRefresh} ;
  51.       firstGadget := NIL ; checkMark := NIL ;
  52.       title       := ADR("Shiverbench release 2.3.     0000000 free memory") ;
  53.       screen      := NIL ; bitMap    := NIL ;
  54.       type        := ScreenFlagSet {wbenchScreen} ;
  55.    END ;
  56.    GagWinPtr := OpenWindow (NewWin) ; IF (GagWinPtr = NIL) THEN HALT ; END ;
  57.    GagView   := ViewAddress() ;
  58.    oldX      := GagView^.dxOffset ;
  59.    oldY      := GagView^.dyOffset ;
  60.    LOOP
  61.       WhatPtr := GetMsg (GagWinPtr^.userPort) ;
  62.       IF (WhatPtr <> NIL) THEN EXIT ; END ;
  63.       CurrentTime (secPtr,micPtr) ;
  64.       IF ODD(micPtr^) THEN
  65.          IF (GagView^.dyOffset = oldY) THEN
  66.              GagView^.dyOffset:= oldY + DeltaY ;
  67.          ELSE
  68.              GagView^.dyOffset:= oldY ;
  69.          END ;
  70.       ELSE
  71.          IF (GagView^.dxOffset = oldX) THEN
  72.              GagView^.dxOffset:= oldX +DeltaX ;
  73.          ELSE
  74.              GagView^.dxOffset:= oldX ;
  75.          END ;
  76.       END ;
  77.       RemakeDisplay ;
  78.       IF (PowerLED = 374C) THEN
  79.           PowerLED:= 376C ;
  80.       ELSE
  81.           PowerLED:= 374C ;
  82.       END ;
  83.    END ;
  84.    ReplyMsg (WhatPtr) ;
  85.    GagView^.dxOffset := oldX ;
  86.    GagView^.dyOffset := oldY ;
  87.    RemakeDisplay ;
  88.    IF DisplayAlert (0,ADR(Guru),35) THEN END ; (* trick to avoid a variable *)
  89.    PowerLED := 374C ;
  90.    CloseWindow (GagWinPtr) ;
  91. END Interlace .
  92.